package com.ruoyi.actity.service.impl;

import java.util.List;

import javax.annotation.Resource;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.oss.config.OssConfig;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.actity.mapper.ActivityManagerMapper;
import com.ruoyi.actity.domain.ActivityManager;
import com.ruoyi.actity.service.IActivityManagerService;
import com.basic.service.impl.BaseServiceImpl;

/**
 * 活动管理Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-01-19
 */
@Service
public class ActivityManagerServiceImpl extends BaseServiceImpl<Long, ActivityManager>
		implements IActivityManagerService {
	private OssConfig ossConfig;

	public ActivityManagerServiceImpl(ActivityManagerMapper baseMapper) {
		super(baseMapper);
		// TODO Auto-generated constructor stub
	}

	/**
	 * 查询活动管理
	 * 
	 * @param id 活动管理主键
	 * @return 活动管理
	 */
	@Override
	public ActivityManager selectById(Integer id) {
		return baseMapper.selectById(id);
	}

	/**
	 * 查询活动管理列表
	 * 
	 * @param activityManager 活动管理
	 * @return 活动管理
	 */
	@Override
	public List<ActivityManager> selectList(ActivityManager activityManager) {
		List<ActivityManager> selectList = baseMapper.selectList(activityManager);

		String prefix = "https://".concat(ossConfig.getURL());

		for (ActivityManager activityManager1 : selectList) {
			activityManager1.setPic(prefix.concat(activityManager1.getPic()));
		}

		return selectList;
	}

	/**
	 * 新增活动管理
	 * 
	 * @param activityManager 活动管理
	 * @return 结果
	 */
	@Override
	public int insert(ActivityManager activityManager) {
		return baseMapper.insert(activityManager);
	}

	/**
	 * 修改活动管理
	 * 
	 * @param activityManager 活动管理
	 * @return 结果
	 */
	@Override
	public int update(ActivityManager activityManager) {
		String prefix = (ossConfig.getURL());

		String pic = activityManager.getPic();

		pic = pic.replaceAll("http://", "").replaceAll("https://", "").replaceAll(prefix, "");

		activityManager.setPic(pic);

		return baseMapper.update(activityManager);
	}

	/**
	 * 批量删除活动管理
	 * 
	 * @param ids 需要删除的活动管理主键
	 * @return 结果
	 */
	@Override
	public int deleteByIds(Integer[] ids) {
		return baseMapper.deleteByIds(ids);
	}

	/**
	 * 删除活动管理信息
	 * 
	 * @param id 活动管理主键
	 * @return 结果
	 */
	@Override
	public int deleteById(Integer id) {
		return baseMapper.deleteById(id);
	}

	@Resource
	public void setOssConfig(OssConfig ossConfig) {
		this.ossConfig = ossConfig;
	}
}
